1. Field of the Invention
The present invention relates to data access in an optical disk device and in particular to a method and apparatus for determining a maximum retry count in an optical disk device.
2. Description of the Prior Art
Since CD-ROM drives typically access data at high speed such as 16X or 24X, read errors are likely to occur. Read errors result from a low signal-to-noise ratio (SNR) in the read signal, which hinders accurate detection of the data. CD-ROM drives typically execute retry operations when a data block recorded on the disk is unrecoverable during an initial read operation. Because the magnitude and character of the noise during any given read operation can vary, rereading the data block during retry operations may result in at least one read operation where the SNR is high enough to accurately recover the data block. Thus, numerous retry operations may be required to successfully recover the data block. Numerous reties result in increased latency as the CD-ROM drive can only retry once per disk revolution. Furthermore, the SNR may never be high enough to enable recovery of the data block regardless of the number of retries, which means the data block is permanently lost.
Conventional methods for the read retry operation are described in the following. A first general method retries for a predetermined number of times under the condition that the number of disk revolutions per unit time (i.e., disk revolution rate) is maintained at a given level. A second method temporarily decelerates the disk to retry if the error has not been corrected by the first general method, and accelerates to the original disk revolution rate if the read attempt is successful. A third method decelerates the disk to retry if the error has not been corrected by the first general method, and maintains the revolution rate at the decreased level if the read operation is successful.
The previous read retry methods have respective advantages and disadvantages. The first general method exhibits low error correction capability because the disk revolution rate is always maintained at a given level. The second method of temporary deceleration is superior in its error correction capability, but increases the load on the system. That is, the revolution rate of a spindle motor is frequently altered, due to the above method. The second method may also damage the disk because the disk returns to the original revolution rate after an error is corrected. Typically, the disk is damaged due to the abrupt changes in the revolution speed of the disk. The damaged region of the disk may generate further read errors and thus increases difficult in deciphering data in the error-prone region. The third method of deceleration lowers the data transmission rate due to the decreased disk revolution rate being maintained after an error occurs.
For disks on which digital audio data is recorded, in a playback mode, data read by the pickup of the CD-ROM drive is temporarily written in a buffer to be processed by a decoder. The decoded data in the buffer is then erased from the buffer. For smooth audio playback without interruption, the number of retries attempted must be limited so that the retry operation stops before a new data read operation is executed. The next block will be read regardless of errors when the data buffer is empty.
In Digital Audio Extraction (“DAE”), also known generally as “ripping”, wherein an audio track is copied from the disk to a hard drive or other storage medium by creating a file (or group of files) in any number of encoded and/or compressed formats (e.g., WAV, MP3, etc.), the number retries attempted must be large enough to replicate the data on the disk as accurately as possible.
In the previously described methods for read retry operations, however, the number of retries is fixed. Hence, it is impossible for firmware designers to identify a number of retries sufficient both for playback and extraction of audio from a disk.